Computer devices connected by a network are typically capable of sharing information. In a world wide network, such as the Internet, client computers or devices connected to the network are capable of accessing information stored in virtually any server computers connected to the network. Many modem server computers provide rich media that are accessible across the Internet. Examples of rich media are audio, video, image, software, applications, games, data, and other multimedia information.
Typically, transmission of rich media across the Internet requires a wide bandwidth. Further, the cost and efficiency for a user to retrieve rich media is dependent on the capacity of the user's computer or device. Partly due to size constraints, most existing wireless/mobile devices do not have the capacity to effectively retrieve rich media. In particular, most wireless/mobile devices have very limited memory space for caching and inadequate processing capability for retrieving complex objects.
Generally, wireless/mobile devices include a micro-browser pre-installed on a wireless/mobile device and a set of fixed applications and hierarchical menus for Internet access. Using the micro-browser, a user typically browses the Internet using the fixed menus or by manually entering specific uniform resource locators (URLs). Such fixed menus are not tailored to a user's preferences.
One possible solution to more efficiently provide rich media on wireless/mobile devices is to provide devices that are capable of implementing Java applications. Java applications are created by the Java language developed by Sun Microsystem®. Typically, successful implementations of Java applications on wireless/mobile devices can provide users with better user-interface, security, and rich media access. In general, providing rich media on wireless/mobile devices, such as by implementing Java applications, requires using wireless/mobile devices that have greater memory capacity, better processing capabilities, as well as more efficient applications/data management.
In addition to improving wireless/mobile devices, inefficiencies in gateways that connect the wireless/mobile devices to the servers on the Internet should also be addressed. In existing systems, subscriber and/or user profile information stored on a gateway is generally only partially synchronized or not synchronized in real time with other gateways. As a result, gateways are typically not completely redundant and scalable. In systems having no synchronization or only partial synchronization of information, when an original gateway crashes, a user has to wait until the original gateway recovers from the crash to regain service. Even if a system allows automatic routing to a nearby gateway when an original gateway crashes, in systems that do not synchronize information in real time, the quality of service varies from gateway to gateway because some information may not be available at such nearby gateways. In addition, when gateways are not synchronized in real time, load balancing among the gateways is difficult and inefficient, thus likely to result in frequent gateway crashing.
Thus, it is desirable to provide apparatus and methods for providing intelligent applications/data management in mobile device systems. It is further desirable to provide apparatus and methods to efficiently synchronize gateways in mobile device systems.